The present invention relates to the fields of operating systems, application software, menu structure and menu display graphics.
Computer/human interfaces permit users to submit data to and receive results from the computer system. Data which is input can be categorized as the submitting of parameters to control the operating system, the submitting of parameters to control the computer/human interface, the submitting of data to the application software and the submitting of requests for transformation of application data. Menu systems form a widely utilized method for the input of any of these data categories if the data: (1) can be described via a tree structure and (2) have either a nominal or rank order level of measurement. Sixteen to twenty options per level of a menu represents the maximum practical number of options when the menu system is utilized to manage a software system. The final level of options of a menu may solicit any class of data providing appropriate input technologies are integrated into the menu structure to receive other than nominal and rank order data. For a general discussion of the logic and constraints of menu systems see: Schneiderman, Ben, Designing the User Interface: Strategies for Effective Human-Computer Interaction. Addison-Wesley Publishing Co., 1987, pp. 85-133 and Mayhew, Deborah J., Principles and Guidelines in Software Interface Design, Prentice-Hall, 1992, pp. 113-174.
Variants of two approaches for the display of menu options predominate: (1) options appear displayed as vertical linear lists and (2) options of the menu's first level appear displayed as a horizontal list with higher level option lists displayed in vertical linear format. With vertical display, the menu's first level option list may either be permanently displayed in an infrequently utilized screen area or appear via "pop-up" display; i.e., be generated upon activation of the menu system and removed upon its deactivation. An example of the pop-up style is the menu system employed by Sun Microsystems, Inc. Sun Microsystems promotes the Open Look protocols and details its menu system in Sun Microsystems, Inc., Open Look: Graphical User Interface Functional Specification, Addison-Wesley Publishing Co., Inc., 1989. The NeXTstep system developed by NeXT Computer, Inc. permanently displays the first level options in vertical format. When selection of a first level option requires display of higher level option lists, they appear in vertical linear format adjacent to the parent display. The first level menu display offered by the Macintosh operating system of Apple Computer, Inc. and the Windows menu system of the Microsoft Corporation provide a permanent display of first level options in a list appearing horizontally at the top of the display screen. With both the Macintosh and Windows menu systems, selection of a first level option results in a "drop-down" display of the second level option list; i.e., display of second level options in a vertical, linear format immediately below the selected first level option. For menu systems based on display of linear lists, selection is affected by the user activating a specified input device within the target area defined for the option. The most prevalent input devices for menu control are the mouse and cursor control keys. For linearly displayed option lists, an option's target area comprises either an explicitly delimited or an implicitly present rectangular area surrounding the label or icon identifying the option. For a given level of menu display dimensions of these rectangular targets are either fixed during system design or are dynamically determined from the longest text string or icon employed to identify the option list to be displayed.
A graphic which permits vertical scanning of the option list represents the most efficient known method of data scanning. Users possessing average visual acuity have foveal vision which subtends 1 to 2 degrees. At typical screen distances this foveal angle permits simultaneous identification of two or three options when displayed at a typical height of 6 or 8 lines per inch. Horizontal and nonlinear display formats disallow multiple option identification per saccad/fixation and thus require users to expend more time performing the option scan. For general reference to saccads, fixation and symbol comprehension see Chapter 2 of Just and Carpenter, The Psychology of Reading and Language Comprehension, Allyn and Bacon, Inc., 1987. Studies of user scanning behavior indicate that visual searches of vertically formatted option lists are accomplished in three-fourths the time expended scanning the same lists when arranged horizontally. Although the absolute savings per menu scan is small, an extended terminal session can entail thousands of menu scans; the aggregation of such small benefits can noticeably improve a user's reaction to a human-computer interface system. The disadvantage of both vertical and horizontal linear formats is that the average distance the cursor is traversed to reach desired options is greater than is required with available alternate designs. Aggregate cursor travel is greatest with systems employing permanently displayed first level option lists since the user is required to traverse from the cursor's current location, to the menu, and return. For general reference to the mechanics of menu usage see: Chapter 6 of Kent L. Norman, The Psychology of Menu Selection: Designing Cognitive Control of the Human/Computer Interface, Ablex Publishing Corp., 1991.
A third style of menu display is the pie menu. The graphic of the pie menu presents option descriptors in horizontal alignment arrayed around the periphery of a circle. Each option of a pie menu lies within individual, pie-shaped targets having their apex angle at the circle center and having an angular extent of [360/(Number of Options)] degrees. Higher level displays are themselves pie menus but may have different dimensions due to different numbers of options and length of option labels. Display of high level option lists appear either as overlapping pies thus occluding lower level option display or in tiled format with each pie abutting its parent. The principle advantage of the pie menu is the ability to affect selection of any option by a similar, short cursor move into the target area of the desired option. The principle disadvantage of this menu style is that long option labels or numerous options necessitate displays of large diameter and thus consume extensive screen real estate. A concomitant problem is the need for the user to perform a separate saccad/fixation to identify most options while scanning the option list. For a general discussion of pie menus see Callhan, Hopkins, Weisner and Schneiderman, An Empirical Comparison of Pie vs. Linear Menus, CHI '88: Human Factors in Computing Systems, 1988.
When manipulating a menu user behavior comprises five possible activities: menu activation, forward traverse to first and higher level options, possible backward traverse from a current level to a prior menu level, selection of a leaf option with implicit menu deactivation, and explicit menu deactivation. When explicit menu activation is required this generally requires the user to press a specifically allocated key(s) to affect display of the first level option list. Forward menu traverse commonly utilizes mouse input, with option selection accomplished either by the point and click method or by the walking method (also called dragging). Point and click requires that the user traverse to the desired option and rapidly press and release (click) the designated mouse button. If a second level option list is attached to the selected first level option, the user traverses to the desired second level selection and clicks on that option. This is repeated until the highest level option has been selected. Walking selection with drop-down display requires the user to traverse from the current cursor location to the desired first level option, press the designated mouse button and, with the mouse button depressed, traverse the cursor to the second level option. If this is a leaf option the mouse button is released. If still higher level options exist, the user drags through one border (typically the right edge) of the current selection before dragging to the desired option of the new level. This is repeated until a leaf is reached. Walking selection with pop-up styles differ only in having the cursor appear centered in the menu's title area upon menu activation.
Menu systems with permanently displayed first level options traditionally provide for option selection via a keystroke to jump the cursor to the menu display with subsequent manipulation of a four cursor control keypad or some other defined four key set. Upon stroking the activation key(s), the cursor is jumped to the left-most position of the displayed first level option list. Each subsequent stroke on the four key set causes a cursor jump to a contiguous option. As example, stroking the left-most control key jumps the cursor one option to the left or wraps the cursor to the right-most option area if the cursor initially occupies the left-most option area. Auto repeat is typically provided when a cursor control key is held in the down position.
Backward menu traverse is conventionally provided to permit returning to a prior menu level. This cancels the current option choice and returns the menu system to the state appropriate to the lower level selected. Menu deactivation is conventionally provided in menu systems to manage either a single option selection per activation or multiple selections per activation. Selection of a leaf option under a single option per menu activation terminates all nonpermanent menu display. Display termination prior to leaf selection under the dragging method occurs upon release of the mouse button at any nonleaf location. Under the point-and-click method, either clicking outside the menu area or toggling the menu activation key terminates all nonpermanent menu display. When multiple inputs are permitted during a menu activation, two termination techniques are employed. For a predetermined number of inputs, the system counts the selections and terminates when that number is reached. For a variable number of selections the user is responsible for explicitly terminating the display.
While the foregoing menu management techniques may suffice for some applications in general, these conventional techniques require more effort than required if the same software control were affected using the present invention. The invention provides a menu graphic capable of displaying any typical number of options on any typical number of levels while affording the visual efficiency of vertical scanning combined with low physical effort of cursor motion found with the pie menu. These capabilities can be provided within a menu management framework which provides the capabilities reviewed above. Depending upon implementation strategy, the invention can be employed as a replacement in most extant menu systems or as the menu structure of a new software system.
In accordance with one aspect of the invention a computer menu selection system is provided to permit pointing device selection of a plurality of menu options by a user. The system comprises a plurality of option target areas, each target area corresponding to one of the menu options. The option target areas each, in part, comprise a generally rectangular area which contains the label of one of the menu options. The option target areas are disposed so that at least a portion of the rectangular areas are vertically arranged to define a generally vertical axis and to present at least a portion of the menu options as a vertically arranged list. The invention includes a means for establishing or defining an origin point which is offset from the vertical axis defined by the vertically arranged rectangular areas. The option target areas each further include a nonrectangular area, laterally adjacent the rectangular area, which have a plurality of boundaries which converge in a direction towards the origin point, or such convergence being alternatively described as divergence from the origin point. By this configuration, the option target areas are geometrically configured and arranged such that the user visually scans the list of menu options in a vertical direction and where the pointing device, when positioned at the origin point, acquires any of the option target areas with substantially equal movement.